Method Of Equalizing A Digital Signal And Equalizer

ABSTRACT

A method for equalizing a digital signal received via at least one communication channel is described, wherein a block of received signal values is processed by a block-iterative equalizer ( 200 ). The equalizer comprises a feedback unit ( 202 ) and a feed-forward unit ( 201 ) each corresponding to the multiplication by a respective matrix. The matrices are updated in the iterative process.

FIELD OF THE INVENTION

The invention relates to a method for equalizing a digital signal and an equalizer.

BACKGROUND OF THE INVENTION

A MIMO (multiple input multiple output) system is a communication system with multiple antennas at both the transmit side and the receive side. If n_(T) denotes the number of transmit antennas and n_(R) denotes the number of receive antennas, a MIMO system achieves a channel capacity which is almost N=min(n_(T), n_(R)) times of the capacity of a corresponding single antenna system.

To achieve this capacity of a MIMO system, a spatial multiplexing scheme has been proposed according to which one independent data stream is transmitted by each transmit antenna. Because of the cross-interference among the data streams, each receive antenna receives a combination of the transmitted data streams. It is a challenging task for the receiver to separate the transmitted data streams, especially when the signal dimension N is very large.

A single-antenna communication system usually suffers from inter-symbol interference (ISI) and multiple access interference (MAI). For example, in single carrier cyclic prefix (SCCP) based systems or WHT-OFDM (Walsh Hadamard transform orthogonal frequency division multiplexing) systems, the transmitted symbols interfere with each other, yielding severe ISI. Both MAI and ISI exist in code division multiple access (CDMA) systems.

In wired transmission systems such as in digital subscriber lines (DSL), multiple lines are bonded together, thus besides the severe ISI due to the long delay in each telephone line, cross-talk among different lines is another major impairment affecting the transmission quality.

For a MIMO system, the following input-output model can be used:

x=Hs+n   (1)

where s denotes the transmitted signal vector, x denotes the received signal vector and n denotes the received noise vector. H denotes the channel matrix and represents the channel responses from the transmit side to the receive side. For clarity, it is assumed that s, x and n are all N×1 and H is a N×N matrix.

The MIMO model given above represents a wide range of communication systems. In fact, the input-output relation can be derived either in time domain, frequency domain, spatial domain or any combination of them. For a MIMO antenna system working in flat fading environment, the channel matrix H represents the channel responses from each transmit antenna to each receive antenna. For a SCCP system, the channel matrix H is a circular matrix, the elements of which come from the time domain channel responses from the transmit antenna to the receive antenna.

In the above model, the transmitted signal vector s may consist of only user's information-bearing symbols, which are usually with the same modulation. For multiuser case, the transmitted symbols may use different modulation methods.

For a generic MIMO system, three types of interferences must be considered: multi-stream interference (MSI), inter-symbol interference (MSI), both from one user and MAI which comes from the other users.

Linear equalizers and nonlinear equalizers have been proposed to recover transmitted signals. Linear detectors, such as ZF (zero forcing) detectors and MMSE (minimum mean squared error) detectors and some nonlinear detectors, such as generalized decision feedback equalizers (GDFE) are simple for implementation, but achieve a detector performance far away from the maximum likelihood (ML) performance bound. When the signal dimension is very small, a nonlinear exhaustive search can be applied to achieve ML detection, where the number of candidates to be sought is M^(N), where M is the constellation size of the modulated symbols. For large signal dimension, however, the exponential complexity of the ML detector makes it impractical for implementation.

Recently, much effort has been devoted in designing low-complexity non-linear receivers to achieve near-ML performance for MIMO systems. When the signal dimension is small and moderate, near ML detection can be achieved through closest lattice point search (CPS) techniques, such as sphere decoding, which have lower complexity than the brute force ML detector. The time and space complexity for CPS techniques grows dramatically with the increase of the signal dimension. Therefore, it becomes impractical to use CPS when the signal dimension goes to large, say over 100.

A block-iterative decision feedback equalizer (BI-DFE) method has been proposed for ISI/MAI cancellation in CDMA systems in [1] and for ISI channel equalization in single user systems in [2], assuming an infinite signal dimension. This method iteratively estimates the overall transmitted symbols and uses these decision-directed symbols to obtain a new set of symbol estimates by canceling out the interferences. As an iterative technique, for high SNR (signal to noise ratio) region and when the number of independent delay paths is sufficiently large, BI-DFE can achieve the matched filter bound (MFB) within three to five iterations.

BI-DFE was later extended to frequency domain equalization for SCCP systems in [3], and to layered space-time processing for multiple antenna SCCP systems [4], both with finite signal dimensions. For SCCP systems, the channel is a circular matrix. For multiple antenna SCCP systems, the interferences from the other users are cancelled out, thus the newly generated signal is actually a single user SCCP system, to which a BI-DFE is applied. Therefore, both extensions make use of the channel's known structure—circular matrix, which is not available in generic MIMO channels.

An object of the invention is to provide an improved method for equalizing a digital signal compared to prior art methods.

The object is achieved by a method for equalizing a digital signal and an equalizer with the features according to the independent claims.

SUMMARY OF THE INVENTION

A method for equalizing a digital signal received via at least one communication channel is provided, wherein the signal values of the received digital signal are grouped into at least one block of received signal values and the at least one block of received signal values is processed by an iterative equalizer. In two or more iterations, a block of equalized signal values for the block corresponding to the current iteration is generated and in two or more iterations the block of equalized signal values corresponding to a previous iteration is processed by a feedback unit which performs a multiplication by a first matrix. Further, in two or more iterations the at least one block of received signal values is processed by a feed-forward unit which performs a multiplication by a second matrix. In two or more iterations, the first matrix is updated and in two or more iterations, the second matrix is updated. Further, in two or more iterations, the block of equalized signal values corresponding to the current iteration is determined based on the combination of the output of the feed-forward unit and the output of the feedback unit for the current iteration.

Further, an equalizer according to the method for equalizing a digital signal described above is provided.

SHORT DESCRIPTION OF THE FIGURES

FIG. 1 shows a communication system according to an embodiment of the invention.

FIG. 2 shows an equalizer according to an embodiment of the invention.

FIG. 3 shows an equalizer according to an embodiment of the invention.

FIG. 4 shows an equalizer according to an embodiment of the invention.

FIG. 5 shows a communication system according to an embodiment of the invention.

FIG. 6 shows an equalizer according to an embodiment of the invention.

FIG. 7 shows an equalizer according to an embodiment of the invention.

FIG. 8 shows an equalizer according to an embodiment of the invention.

FIG. 9 shows an equalizer according to an embodiment of the invention.

FIG. 10 shows a diagram according to an embodiment of the invention.

DETAILED DESCRIPTION

Illustratively, a block-iterative generalized decision feedback equalizer (BI-GDFE) is provided, wherein the feedback matrix and the feed-forward matrix are updated in the iterative process. The equalizer can be realized having low complexity since the feedback unit and the feed-forward unit can be implemented as one-tap filter units. In one embodiment, the equalizer coefficients are pre-calculated, such that the complexity is reduced further. In one embodiment, the equalizer is based on a singular value decomposition of the MIMO channel matrix (modelling the channel transmission characteristics). This embodiment can also be realized with low complexity, since only one singular value decomposition is involved.

With the invention, it becomes possible to achieve gigabit-level transmissions using large antenna systems for wireless applications or using large number of lines for wired transmissions, such as in DSL applications. The invention is for example applicable to communication systems compliant with IEEE 802.11n, i.e. for wireless local area networks, but may also be applicable to large area communication systems such as mobile telephone communication systems. The invention is e.g. applicable to communication systems compliant with WIMAX (Worldwide Interoperability for MicrowaveAccess) or B3G (beyond 3G) standards.

Near ML detection can be achieved for MIMO systems with large signal dimension.

Embodiments of the invention emerge from the dependent claims. The embodiments which are described in the context of the method for equalizing a digital signal are analogously valid for the equalizer.

The first matrix can be updated based on the result of at least one previous iteration. Similarly, the second matrix can be updated based on the result of at least one previous iteration.

A block of equalized signal values for the block corresponding to the iteration is for example generated in each iteration.

The first matrix and the second matrix may be both updated in two or more iterations.

The first matrix can be updated in each iteration. Similarly, the second matrix can be updated in each iteration.

In one embodiment, the first matrix and the second matrix are updated based on the correlation between the block of equalized signal values corresponding to a previous iteration and the block of received signal values. The update may also be performed based on a pre-estimation of the correlation.

The correlation between the block of equalized signal values corresponding to a previous iteration and the block of received signal values can be determined based on the equalized SINR of the previous iteration.

The correlation between the block of equalized signal values corresponding to a previous iteration and the block of received signal values is in one embodiment determined based on pre-determined correlation values.

The pre-determined correlation values may be generated by means of simulations.

The second matrix is for example updated based on a maximisation of the signal to interference and noise ratio (SINR). The first matrix is for example updated based on a minimisation of the interference.

In one embodiment, the received digital signal is a digital signal received via a MIMO system comprising a plurality of receive antennas and each receive antenna corresponds to exactly one component of the block of received signal values.

In one embodiment, in two or more iterations, the block of received signal values is processed by a first beamforming unit which performs a multiplication by a third matrix und wherein the block of equalized signal values corresponding to a previous iteration is processed by a second beamforming unit which performs a multiplication by a fourth matrix.

The third matrix and the fourth matrix for example correspond to a singular value decomposition of the channel matrix specifying the transmission characteristics of the communication channel.

The singular value decomposition of the channel matrix can be performed based on a decomposition of the channel matrix according to the subcarriers used in the communication channel.

The first matrix and the second matrix are in one embodiment generated according to the channel matrix specifying the transmission characteristics of the communication channel.

The communication channel is for example adapted according to MC-DS-CDMA, MC-CDMA, CP-CDMA or CP-DS-CDMA.

Illustrative embodiments of the invention are explained below with reference to the drawings.

FIG. 1 shows a communication system 100 according to an embodiment of the invention.

The communication system 100 comprises a transmitter 101 and a receiver 102. The transmitter 101 is formed according to a MIMO-SCCP (multiple input multiple output single carrier cyclic prefix) architecture, this means a SCCP system with MIMO antennas. For simplicity, the communication system 100 is a 2×2 MIMO system comprising two transmit antennas 103 wherein each transmit antenna 103 is used to transmit one data stream 104. The two data streams 104 in form of modulated symbols are each passed to a serial-to-parallel (S/P) converter 105. The S/P converters 105 generate blocks of data from the respective data streams 104. Let a block of data generated by the upper S/P converter 105 in FIG. 1 be denoted by s ₁(n) and let a block of data generated by the lower S/P converter 105 in FIG. 1 be denoted by s ₂(n) (assuming than s 1(n) and s 2(n) correspond to data that should be transmitted at the same time). s ₁(n) and s ₂(n) are vectors of size N×1 and are also referred to as the transmitted signal vectors in the following.

To each block of data s ₁(n) and s ₂(n) there is added a cyclic prefix of length L by a respective cyclic prefix adding unit 106. Finally, the blocks of data are each passed to a respective parallel-to-serial (P/S) converter (not shown in FIG. 1) which generates a serial symbol stream from each block. Each serial symbol stream is then sent by a respective transmit antenna 103.

The serial symbol streams are received by the receiver 102 via respective receive antennas 107. Each received serial symbol stream is first passed to a respective S/P converter (not shown in FIG. 1) to generate a block of symbols from each received serial symbol stream. The cyclic prefix is removed from each block of symbols by a respective cyclic prefix removal unit 108 and a fast Fourier transform (FFT) is applied to each block of symbols by a respective FFT unit 109 such that a received signal vector is generated corresponding to each transmitted signal vector. Let the received signal vector corresponding to the transmitted signal vector s ₁(n) be denoted by x ₁(n) and let the received signal vector corresponding to the transmitted signal vector s ₂(n) be denoted by x ₂(n).

The received signal vectors x ₁(n) and x ₂(n) are each fed to an equalizer 110. From x ₁(n) the equalizer 110 generates a detected (equalized) signal vector ŝ ₁(n) and from x ₂(n) the equalizer 110 generates a detected (equalized) signal vector ŝ ₂(n).

In the following, the function of the equalizer 110 is described according to various embodiments of the invention.

FIG. 2 shows an equalizer 200 according to an embodiment of the invention.

The equalizer 200 is an iterative equalizer. In the following, l is used as the iteration index. The input of the equalizer 200 is a received signal vector, as explained with reference to FIG. 1, denoted by x.

At the lth iteration, the received signal vector x is passed to a feed-forward equalizer (FFE) 201 which performs a multiplication of x by the matrix W _(l) ^(H). Further, at the lth iteration, the hard decision from the previous, l−1th, iteration, this means the signal vector detected according to the l−1th iteration ŝ_(l-1)(n) is fed to a feedback equalizer (FBE) 202 which performs an multiplication of ŝ_(l-1)(n) by the matrix D_(l). The output of the feed-forward equalizer 201 and the output of the feedback equalizer 202 are combined (added) by an adder (combiner) 203 to generate a vector z_(l).

The vector z _(l) is fed to a slicer 204 which generates the hard decision for the lth iteration ŝ_(l)(n).

Mathematically, the input to the slicer 204 at the lth iteration is given by

z _(l) =W _(l) ^(H) x+D _(l) ŝ _(l-1)  (2)

Since x=Hs+n, let

α _(l)=diag( W _(l) ^(H) H )  (3)

be the diagonal matrix comprising the diagonal elements of the matrix W_(l) ^(H)H. Then,

z _(l)=α _(l) s +( W _(l) ^(H) H−α _(l)) s+D _(l) ŝ _(l-1) +W _(l) ^(H) n.  (4)

Let C _(l)=W _(l) ^(H) H−α _(l) and ñ=C _(l) s+D _(l) ^(H) ŝ _(l-1)+W _(l) ^(H) n, then the covariance matrix of the composite interference plus noise is given by

$\begin{matrix} \begin{matrix} {{E\left\lbrack {\underset{\_}{\overset{\sim}{n}}{\underset{\_}{\overset{\sim}{n}}}^{H}} \right\rbrack} = {E\left\lbrack {\left( {{{\underset{\_}{C}}_{1}\underset{\_}{s}} + {{\underset{\_}{D}}_{1}{\underset{\_}{\hat{s}}}_{1 - 1}} + {{\underset{\_}{W}}_{1}^{H}\underset{\_}{n}}} \right)\left( {{{\underset{\_}{C}}_{1}\underset{\_}{s}} + {{\underset{\_}{D}}_{1}{\underset{\_}{\hat{s}}}_{1 - 1}} + {{\underset{\_}{W}}_{1}^{H}\underset{\_}{n}}} \right)^{H}} \right\rbrack}} \\ {= {{{\underset{\_}{\sigma}}_{s}^{2}{\underset{\_}{C}}_{1}{\underset{\_}{C}}_{1}^{H}} + {{\underset{\_}{C}}_{1}{E\left\lbrack {\underset{\_}{s}{\hat{\underset{\_}{s}}}_{1 - 1}^{H}} \right\rbrack}{\underset{\_}{D}}_{1}^{H}} + {{\underset{\_}{D}}_{1}{E\left\lbrack {{\underset{\_}{\hat{s}}}_{1 - 1}{\underset{\_}{s}}^{H}} \right\rbrack}{\underset{\_}{C}}_{1}^{H}} +}} \\ {{{{\underset{\_}{\sigma}}_{s}^{2}{\underset{\_}{D}}_{1}{\underset{\_}{D}}_{1}^{H}} + {{\underset{\_}{\sigma}}_{n}^{2}{\underset{\_}{W}}_{1}^{H}{\underset{\_}{W}}_{1}}}} \\ {= {{{{\underset{\_}{\sigma}}_{s}^{2}\left( {1 - {\underset{\_}{\rho}}_{1 - 1}^{2}} \right)}{\underset{\_}{C}}_{1}{\underset{\_}{C}}_{1}^{H}} + {{{\underset{\_}{\sigma}}_{s}^{2}\left( {{{\underset{\_}{\rho}}_{1 - 1}{\underset{\_}{C}}_{1}} + {\underset{\_}{D}}_{1}} \right)}\left( {{{\underset{\_}{\rho}}_{1 - 1}{\underset{\_}{C}}_{1}} + {\underset{\_}{D}}_{1}} \right)^{H}} +}} \\ {{{\underset{\_}{\sigma}}_{n}^{2}{\underset{\_}{W}}_{1}^{H}{\underset{\_}{W}}_{1}}} \end{matrix} & (5) \end{matrix}$

where ρ_(l-1) is the correlation between the decisions made at the (l−1)th iteration with the input, also called input-decision correlation. To minimize the interference effect, W_(l) is chosen in the lth iteration according to

(ρ _(l-1) C+D _(l))=0

D _(l)=−ρ _(l-1) C=ρ _(l-1)(α _(l) −W _(l) ^(H) H )  (6)

Intuitively, for a given FFE, the FBE is chosen to minimize the interference effect.

The FFE (given by W_(l)) is in the lth iteration chosen such that the SINR is maximized according to

W _(l)=[σ _(s) ²(1−ρ _(l-1) ²) HH ^(H)+σ _(n) ² I] ⁻¹ σ _(s) ² H   (7)

Altogether, the algorithm for weight generation, i.e. for determining W _(l) and D _(l) is given by the following

(1) Set l=0 and ρ₀ for initialization

(2) In the lth iteration, use ρ_(l-1) for calculating W _(l) and D _(l) according to (7) and (6)

(3) Perform processing as described to generate ŝ_(l) and continue with the next iteration (i.e., go to (2)).

In one embodiment, the FFE and FBE coefficients and the correlation coefficients, i.e., W _(l), D _(l) and ρ_(l-1) are pre-calculated when the channel responses, i.e., H, have been estimated first.

FIG. 3 shows an equalizer 300 according to an embodiment of the invention.

As alternative to the equalizer 200 described above with reference to FIG. 2, the equalizer 300 is chosen for the equalizer 110 in the receiver 102 in one embodiment of the invention.

The equalizer 300 is also an iterative equalizer. As above, l is used as the iteration index. The input of the equalizer 200 is a received signal vector, as explained with reference to FIG. 1, denoted by x.

The equalizer 300 is based on a singular value decomposition of the matrix H according to

H=UΣV ^(H)  (8)

Using this, W _(l) according to equation (7) can be written as

W _(l)=UF _(l) V ^(H)  (9)

where

F _(l)=σ _(s) ²[σ _(s) ²(1−ρ _(l-1) ²)ΣΣ ^(H)+σ _(n) ² I] ⁻¹ Σ  (10)

is a diagonal matrix.

Similarly, D_(l) according to (6) can be written as

D _(l)=ρ _(l-1)(α _(l) −W _(l) ^(H) H )=ρ _(l-1)( α _(l) I−W _(l) ^(H) H )+ρ _(l-1)(α _(l)− α _(l) I )  (11)

where

${\overset{\_}{\underset{\_}{\alpha}}}_{1} = {\frac{1}{N}\mspace{14mu} {{{Trace}\left( {{\underset{\_}{W}}_{1}^{H}\underset{\_}{H}} \right)}.}}$

Substituting (8) and (9) into (11) yields

$\begin{matrix} \begin{matrix} {{\underset{\_}{D}}_{1} = {{{\underset{\_}{\rho}}_{1 - 1}\left( {{{\overset{\_}{\underset{\_}{\alpha}}}_{1}\underset{\_}{I}} - {\underset{\_}{V}{\underset{\_}{F}}_{1}^{H}\underset{\_}{\Sigma}{\underset{\_}{V}}^{H}}} \right)} + {{\underset{\_}{\rho}}_{1 - 1}\left( {{\underset{\_}{\alpha}}_{1} - {{\underset{\_}{\overset{\_}{\alpha}}}_{1}\underset{\_}{I}}} \right)}}} \\ {= {{{\underset{\_}{\rho}}_{1 - 1}{\underset{\_}{V}\left( {{{\overset{\_}{\underset{\_}{\alpha}}}_{1}\underset{\_}{I}} - {{\underset{\_}{F}}_{1}^{H}\underset{\_}{\Sigma}}} \right)}{\underset{\_}{V}}^{H}} + {{\underset{\_}{\rho}}_{1 - 1}\left( {{\underset{\_}{\alpha}}_{1} - {{\underset{\_}{\overset{\_}{\alpha}}}_{1}\underset{\_}{I}}} \right)}}} \\ {= {{\underset{\_}{V}{\underset{\_}{B}}_{1}{\underset{\_}{V}}^{H}} + {{\underset{\_}{\rho}}_{1 - 1}\left( {{\underset{\_}{\alpha}}_{1} - {{\overset{\_}{\underset{\_}{\alpha}}}_{1}\underset{\_}{I}}} \right)}}} \end{matrix} & (12) \end{matrix}$

where B _(l)=ρ _(l-1)( α _(l) I−F _(l) ^(H) Σ) and θ _(l)=ρ _(l-1)(α _(l)− α _(l) I) and both are diagonal matrices.

Accordingly, the slicer input z_(l) can be written as

$\begin{matrix} \begin{matrix} {{\underset{\_}{z}}_{1} = {{\underset{\_}{V}{\underset{\_}{F}}_{1}^{H}{\underset{\_}{U}}^{H}\underset{\_}{x}} + {\left( {{\underset{\_}{V}{\underset{\_}{B}}_{1}{\underset{\_}{V}}^{H}} + {\underset{\_}{\theta}}_{1}} \right){\underset{\_}{\hat{s}}}_{1 - 1}}}} \\ {= {{{\underset{\_}{V}\left( {{{\underset{\_}{F}}_{1}^{H}{\underset{\_}{U}}^{H}\underset{\_}{x}} + {{\underset{\_}{B}}_{1}{\underset{\_}{V}}_{1}^{H}}} \right)}{\underset{\_}{\hat{s}}}_{1 - 1}} + {{\underset{\_}{\theta}}_{1}{\underset{\_}{\hat{s}}}_{1 - 1}}}} \end{matrix} & (13) \end{matrix}$

According to this expression of the slicer input z _(l), the received signal vector x is fed to a first (receiver) beamforming unit 301, which performs a multiplication of x by the matrix U ^(H). The output of the beamforming unit 301 is supplied to a feed-forward (one-tap) equalizer 302 which performs a multiplication by the matrix F _(l) ^(H).

The decision-directed signal vector estimate which was made at the (l−1)th iteration, i.e., the hard decision of the (l−1)th iteration ŝ_(l-1) is supplied to a second beamforming unit 303 where it is multiplied by the beamforming matrix V ^(H).

The output of the second beamforming unit 303 is processed by a feedback (one-tap) equalizer 304 which performs a multiplication by the matrix B _(l). The output of the feed-forward equalizer 302 and the output of the feedback equalizer 304 are combined (added) by a first adder 305, the output of which is processed by a third beamforming unit 306 which performs a multiplication by the matrix V.

Further, ŝ_(l-1) is passed to a further (one-tap) equalizer 307 which performs a multiplication by the matrix θ _(l). The output of the third beamforming unit 306 and the further equalizer 307 are combined (added) by a second adder 308. The output of the second adder 308 is the input z _(l) to a slicer 309 which uses the input to make a hard decision for the lth iteration, i.e. generates ŝ_(l).

According to equations (8) and (9), W _(l) H=VF _(l) ^(H) ΣV ^(H). If all the elements of V are of the same amplitude, then α _(l)=diag(W _(l) ^(H) H)= α _(l) I, where

${\overset{\_}{\underset{\_}{\alpha}}}_{l} = {\frac{1}{N}\mspace{14mu} {Trace}\mspace{14mu} {\left( {{\underset{\_}{F}}_{l}^{H}\underset{\_}{\Sigma}} \right).}}$

In this case θ_(l)=0.

For generic MIMO channels, α _(l)=diag(W _(l) ^(H) H)≠ α _(l) I, because the elements of V do not have the same amplitude. In this case, θ_(l)≠0. Therefore, diag(W _(l) ^(H) H) needs to be calculated, which requires N² complex multiplications.

A further alternative to the equalizer 200 described above with reference to FIG. 2 is shown in FIG. 4.

FIG. 4 shows an equalizer 400 according to an embodiment of the invention.

The equalizer 400 can be used as the equalizer 110 in the receiver 102 in one embodiment of the invention.

The equalizer 400 is illustratively a simplification of the equalizer 300 described above. The simplification is achieved by choosing θ _(l)=0 and

${\underset{\_}{\overset{\_}{\alpha}}}_{1} = {\frac{1}{N}\mspace{14mu} {{{Trace}\left( {{\underset{\_}{F}}_{1}^{H}\underset{\_}{\Sigma}} \right)}.}}$

According to this simplification, the received signal vector x is fed to a first beamforming unit 401, which performs a multiplication of x by the beamforming matrix U ^(H). The output of the beamforming unit 401 is supplied to a feed-forward (one-tap) equalizer 402 which performs a multiplication by the matrix F _(l) ^(H).

The decision-directed signal vector estimate which was made at the (l−1)th iteration, i.e., the hard decision of the (l−1)th iteration ŝ_(l-1) is supplied to a second beamforming unit 403 where it is multiplied by the beamforming matrix V ^(H).

The output of the second beamforming unit 403 is processed by a feedback (one-tap) equalizer 404 which performs a multiplication by the matrix B _(l). The output of the feed-forward equalizer 302 and the output of the feedback equalizer 304 are combined (added) by a first adder 305, the output of which is processed by a third beamforming unit 306 which performs a multiplication by the matrix V.

The output of the third beamforming unit 306 is the input z _(l) to a slicer 407 which uses the input to make a hard decision for the lth iteration, i.e. generates ŝ_(l).

The SINR (signal to interference and noise ratio) at the lth iteration can also be simplified to

${{SIN}\; R_{1}} = {\frac{N\; {\underset{\_}{\overset{\_}{\alpha}}}_{1}^{2}{\underset{\_}{\sigma}}_{s}^{2}}{{Tr}\left( {{{{{\underset{\_}{\sigma}}_{s}^{2}\left( {1 - {\underset{\_}{\rho}}_{1 - 1}^{2}} \right)}/{\underset{\_}{\rho}}_{1 - 1}^{2}}{\underset{\_}{B}}_{1}^{H}{\underset{\_}{B}}_{1}} + {{\underset{\_}{\sigma}}_{n}^{2}{\underset{\_}{F}}_{1}{\underset{\_}{F}}_{1}^{H}}} \right)}.}$

Since F_(l), B_(l) and Σ are all diagonal matrices, the trace calculation is very simple.

Because of the cyclic prefix adding, the received signal vectors x ₁(n) and x ₂(n) can be written as

x _(l)(n)=Λ ₁₁ Ws ₁(n)+Λ ₂₁ Ws ₂(n)+ u ₁(n)

x ₂(n)=Λ ₁₂ Ws ₁(n)+Λ ₂₂ Ws ₂(n)+ u ₂(n)

where x _(i)(n), s _(i)(n) and u _(i)(n) are all column vectors with dimension N×1, and W is the DFT (discrete Fourier transform) matrix and Λ _(ij) is a diagonal matrix containing the frequency domain channel responses from the ith transmit antenna to the jth receive antenna.

Therefore, the input-output relation can be written as

$\begin{matrix} \begin{matrix} {{\underset{\_}{x}(n)} = {{\underset{\_}{Hs}(n)} + {\underset{\_}{u}(n)}}} \\ {where} \\ {{{{\underset{\_}{x}(n)} = \begin{bmatrix} {{\underset{\_}{x}}_{1}(n)} \\ {{\underset{\_}{x}}_{2}(n)} \end{bmatrix}},{{\underset{\_}{s}(n)} = \begin{bmatrix} {{\underset{\_}{s}}_{1}(n)} \\ {{\underset{\_}{s}}_{2}(n)} \end{bmatrix}},{{{\underset{\_}{u}(n)}\begin{bmatrix} {{\underset{\_}{u}}_{1}(n)} \\ {{\underset{\_}{u}}_{2}(n)} \end{bmatrix}}{\mspace{11mu} \;}{and}}}\;} \\ {{\underset{\_}{H} = \underset{\_}{\overset{\_}{\Lambda \; W}}},\mspace{14mu} {{{where}\mspace{14mu} \overset{\_}{\underset{\_}{\Lambda}}} = {{\begin{bmatrix} \Lambda_{11} & \Lambda_{21} \\ \Lambda_{12} & \Lambda_{22} \end{bmatrix}\mspace{14mu} {and}\mspace{14mu} \underset{\_}{\overset{\_}{W}}} = \begin{bmatrix} W & 0 \\ 0 & W \end{bmatrix}}}} \end{matrix} & (14) \end{matrix}$

According to the input-output relation (14) the equalizer according to the embodiments described with reference to FIG. 2, FIG. 3 and FIG. 4 can be used. When using the embodiments according to FIG. 3 and FIG. 4, one could expect that since the matrix dimension of H is 2N×2N, the computation would be very complex. However, as will be seen below, the receiver 102 can be very effective when use of the matrix structure property is made.

H= Λ W and W is a unitary matrix. Therefore, doing singular value decomposition or matrix inversion for H can be implemented by doing singular value decomposition or matrix inversion for the block diagonal matrix Λ . Further, because of the block diagonality of Λ , the singular value decomposition or the matrix inversion of the matrix H can be done sub-carrier by sub-carrier, similar to MIMO-OFDM systems.

Let

Λ =Ũ {tilde over (Λ)} {tilde over (V)} ^(H)

be a singular value decomposition of Λ . Similarly, let

${{\underset{\_}{H}}_{k} = \begin{matrix} {{\begin{bmatrix} {\Lambda_{11}(k)} & {\Lambda_{21}(k)} \\ {\Lambda_{12}(k)} & {\Lambda_{22}(k)} \end{bmatrix}\; = {{\underset{\_}{U}}_{k}{\underset{\_}{\Sigma}}_{k}{\underset{\_}{V}}_{k}^{H}}},} & {{k = {0,1}},\ldots \mspace{14mu},{N - 1}} \end{matrix}}\;$

be a singular value decomposition of the channel matrix corresponding to each subcarrier, denoted by H _(k)

It is easy to verify that the unitary matrix Ũ is determined by the matrices U _(k), the unitary matrix {tilde over (V)} is determined by the matrices V _(k) and the diagonal matrix {tilde over (Λ)} is determined by the singular values of the matrices H _(k), i.e., by Σ _(k) (k=0, 1, . . . , N−1).

As an example to illustrate this, let the block diagonal matrix H be (in this example the frequency domain block size N=2 and the spatial domain size is 2×2):

$\underset{\_}{H} = \begin{matrix} {0.4117 + {0.4008\; i}} & 0 & {0.0481 - {0.5663\; i}} & 0 \\ 0 & {{- 0.4081} - {0.1638\; i}} & 0 & {{- 0.5830} - {0.7364\; i}} \\ {0.6456 - {0.1820\; i}} & 0 & {0.3024 - {0.1448\; i}} & 0 \\ 0 & {{- 0.3130} + {1.0168\; i}} & 0 & {{- 0.6199} + {0.2787\; i}} \end{matrix}$

When singular value decompostion H=U S V is performed one gets:

$\underset{\_}{U} = \begin{matrix} {{- 0.0000} - {0.0000\; i}} & {{- 0.6569} - {0.3681\; i}} & {{- 0.5577} + {0.3491\; i}} & {{- 0.0000} + {0.0000\; i}} \\ {{- 0.5683} - {0.2481\; i}} & 0 & 0 & {{- 0.7741} - {0.1278\; i}} \\ {0.0000 - {0.0000\; i}} & {{- 0.6579} + {0.0124\mspace{11mu} i}} & {0.34191 - {0.6673\; i}} & {\; {{- 0.0000} - {0.0000\; i}}} \\ {\; {{- 0.3894} + {0.6811\; i}}} & 0 & 0 & {0.1662 - {0.5974\; i}} \end{matrix}$ $\underset{\_}{S} = \begin{matrix} 1.5673 & 0 & 0 & 0 \\ 0 & 0.9727 & 0 & 0 \\ 0 & 0 & 0.5190 & 0 \\ 0 & 0 & 0 & 0.4613 \end{matrix}$ $\underset{\_}{V} = \begin{matrix} 0 & {- 0.8687} & 0.4954 & 0 \\ {0.6935 + {0.1218\; i}} & 0 & 0 & {{- 0.6994} - {0.1228\; i}} \\ {{- 0.0000} + {0.0000\; i}} & {{- 0.0245} - {0.4948i}} & {{- 0.043} - {0.8676\; i}} & {0.0000 - {0.0000\; i}} \\ {0.6031 - {0.3749\; i}} & 0 & 0 & {{0.5980\; i} - {0.3717\; i}} \end{matrix}$

The channel matrix H ₁ for the first subcarrier is

${\underset{\_}{H}}_{1} = \begin{matrix} {0.4117 + {0.4008\; i}} & {0.0481 - {0.5663\; i}} \\ {0.6456 - {0.1820\; i}} & {0.3024 - {0.1448\; i}} \end{matrix}$

and a singular value decomposition H ₁=U ₁ S ₁ V ₁ yields

${\underset{\_}{U}}_{1} = \begin{matrix} {{- 0.6579} - {0.3681\; i}} & {0.5577 - {0.3491\; i}} \\ {{- 0.6579} + {0.0124\; i}} & {{- 0.3491} + {0.6673\; i}} \end{matrix}$ ${\underset{\_}{S}}_{1} = \begin{matrix} 0.9727 & 0 \\ 0 & 0.5190 \end{matrix}$ ${\underset{\_}{V}}_{1} = {\begin{matrix} {- 0.8687} & {- 0.4954} \\ {{- 0.0245} - {0.4948i}} & {0.0430 + {0.8676\; i}} \end{matrix}.}$

The channel matrix H ₂ for the second subcarrier is

${\underset{\_}{H}}_{2} = \begin{matrix} {{- 0.4081} - {0.1638\; i}} & {{- 0.5830} - {0.7364\; i}} \\ {{- 0.3130} + {1.0168\; i}} & {{- 0.6199} + {0.2787\; i}} \end{matrix}$

and a singular value decomposition H ₂=U ₂ S ₂ V ₂ yields

${\underset{\_}{U}}_{2} = \begin{matrix} {{- 0.6027} - {0.1460\; i}} & {0.7845 - {0.0080\; i}} \\ {{- 0.2657} + {0.7382\; i}} & {{- 0.0604} + {0.6171\; i}} \end{matrix}$ ${\underset{\_}{S}}_{2} = \begin{matrix} 1.5673 & 0 \\ 0 & 0.4613 \end{matrix}$ ${\underset{\_}{V}}_{2} = {\begin{matrix} 0.7041 & 0.7101 \\ {0.5291 - {0.4736\; i}} & {{- 0.5247} + {0.4696\; i}} \end{matrix}.}$

One can see from this example that the second and third of singular values/vectors of H are determined by the first subcarrier corresponding to H ₁ while the others are determined by the second subcarrier corresponding to H ₂.

In a generic sense, for MIMO-SCCP with M×M MIMO and an FFT size of N, each of the column vectors of the unitary matrices of H consists of only M non-zero elements, showing that in the multiplications by U ^(H), V and V ^(H) can be implemented in a very efficient way. In conclusion, for MIMO-SCCP systems with M transmitters and M receivers and an SCCP block size of N, the matrix dimension for a singular value decomposition or a matrix inversion is not NM×NM but M×M (N decompositions are necessary). Therefore, a significant complexity reduction can be achieved.

A further embodiment is described with reference to FIG. 5.

FIG. 5 shows a communication system 500 according to an embodiment of the invention.

The communication system 500 is a WHT-OFDM (Walsh Hadamard Transform OFDM) system with MIMO, also called MIMO-WHT-OFDM system.

The communication system 500 comprises a transmitter 501 and a receiver 502. For simplicity, the communication system 500 is a 2×2 MIMO system comprising two transmit antennas 503 wherein each transmit antenna 503 is used to transmit one data stream 504. The two data streams 504 in form of modulated symbols are each passed to a serial-to-parallel (S/P) converter 505. The S/P converters 505 generate blocks of data from the respective data streams 504. Let a block of data generated by the upper S/P converter 505 in FIG. 1 be denoted by s ₁(n) and let a block of data generated by the lower S/P converter 505 in FIG. 1 be denoted by s ₂(n) (assuming than s ₁(n) and s ₂(n) correspond to data that should be transmitted at the same time). s ₁(n) and s ₂(n) are vectors of size N×1 and are also referred to as the transmitted signal vectors in the following.

Each block of data s ₁(n) and s ₂(n) is passed to a respective Walsh-Hadamard transform (WHT) unit 506 where they are processed by a Walsh-Hadamard transform. Each of the WHT-transformed blocks of data is fed to a respective IFFT unit 507 which performs an inverse fast Fourier transform on the respective WHT-transformed block.

After WHT transformation and IFFT transformation, there is added a cyclic prefix of length L to each block by a respective cyclic prefix adding unit 508. Finally, the blocks of data are each passed to a respective parallel-to-serial (P/S) converter (not shown in FIG. 1) which generates a serial symbol stream from each block. Each serial symbol stream is then sent by a respective transmit antenna 503.

The serial symbol streams are received by the receiver 502 via respective receive antennas 509. Each received serial symbol stream is first passed to a respective S/P converter (not shown in FIG. 1) to generate a block of symbols from each received serial symbol stream. The cyclic prefix is removed from each block of symbols by a respective cyclic prefix removal unit 510 and a fast Fourier transform (of size N) is applied to each block of symbols by a respective FFT unit 511 such that a received signal vector is generated corresponding to each transmitted signal vector. Let, as above, the received signal vector corresponding to the transmitted signal vector s ₁(n) be denoted by x ₁(n) and let the received signal vector corresponding to the transmitted signal vector s ₂(n) be denoted by x ₂(n).

The received signal vectors x ₁(n) and x ₂(n) are fed to an equalizer 512. From x ₁(n) the equalizer 512 generates a detected signal vector ŝ ₁(n) and from x ₂(n) the equalizer 512 generates a detected signal vector ŝ ₂(n).

Because of the cyclic prefix adding, x ₁(n) and x ₂(n) can be written as

x ₁(n)=Λ ₁₁ Cs ₁(n)+Λ ₂₁ Cs ₂(n)+ u ₁(n)

x ₂(n)=Λ ₁₂ Cs ₁(n)+Λ ₂₂ Cs ₂(n)+ u ₂(n)

where x _(i)(n), s _(i)(n) and u _(i)(n) are all column vectors with dimension N×1, and C is the WHT matrix and Λ _(ij) is a diagonal matrix containing the frequency domain channel responses from the ith transmit antenna to the jth receive antenna.

Therefore, the input-output relation can be written as

$\begin{matrix} \begin{matrix} {{\underset{\_}{x}(n)} = {{\underset{\_}{Hs}(n)} + {\underset{\_}{u}(n)}}} \\ {where} \\ {{{{\underset{\_}{x}(n)} = \begin{bmatrix} {{\underset{\_}{x}}_{1}(n)} \\ {{\underset{\_}{x}}_{2}(n)} \end{bmatrix}},{{\underset{\_}{s}(n)} = \begin{bmatrix} {{\underset{\_}{s}}_{1}(n)} \\ {{\underset{\_}{s}}_{2}(n)} \end{bmatrix}},{{{\underset{\_}{u}(n)}\begin{bmatrix} {{\underset{\_}{u}}_{1}(n)} \\ {{\underset{\_}{u}}_{2}(n)} \end{bmatrix}}{\mspace{11mu} \;}{and}}}\;} \\ {{\underset{\_}{H} = \underset{\_}{\overset{\_}{\Lambda \; C}}},\mspace{14mu} {{{where}\mspace{14mu} \overset{\_}{\underset{\_}{\Lambda}}} = {{\begin{bmatrix} {\underset{\_}{\Lambda}}_{11} & {\underset{\_}{\Lambda}}_{21} \\ {\underset{\_}{\Lambda}}_{12} & {\underset{\_}{\Lambda}}_{22} \end{bmatrix}\mspace{14mu} {and}\mspace{14mu} \underset{\_}{\overset{\_}{C}}} = \begin{bmatrix} \underset{\_}{C} & 0 \\ 0 & \underset{\_}{C} \end{bmatrix}}}} \end{matrix} & (15) \end{matrix}$

According to the input-output relation (15) the equalizer according to the embodiments described with reference to FIG. 2, FIG. 3 and FIG. 4 can be used as the equalizer 512.

H= Λ C and C is a unitary matrix. Therefore, similar to a MIMO-SCCP system, as described above, singular value decomposition or matrix inversion for H can be implemented by doing singular value decomposition or matrix inversion for the block diagonal matrix Λ . Further, because of the block diagonality of Λ , the singular value decomposition or the matrix inversion of the matrix H can be done sub-carrier by sub-carrier, similar to MIMO-OFDM systems.

In conclusion, for MIMO-WHT-OFDM systems with M transmitters and M receivers and an OFDM block size of N, the matrix dimension for a singular value decomposition or a matrix inversion is not NM×NM but M×M (N decompositions are necessary). Therefore, a significant complexity reduction can be achieved.

The convergence of the iterative methods performed by the equalizers shown in FIG. 2, FIG. 3 and FIG. 4 are very sensitive to the determination of the correlation coefficients ρ_(l-1), which can be considered as the reliability of the decisions made. Theoretically, the correlation coefficient ρ_(l-1) can be calculated using the equalized SNR for that iteration. In [1] and [2], the correlation coefficients are determined by, for QPSK modulation,

ρ _(l)=1−2 Q (√{square root over (γl)})  (16)

where is the equalized SNR at the lth iteration.

This calculation is used in one embodiment and is valid when the signal dimension goes to infinity. In practice the signal dimension is small, thus using this approximation may yield a result far away from the ML (maximum likelihood) bound.

In one embodiment, the correlation coefficients are generated according to a method based on simulations. As for finite signal dimensions, the correlation fluctuates from one realization to another. The determination method is as follows. For an AWGN (average white gaussian noise) channel, the average correlation between the transmitted signals and the hard-decision symbols is calculated. This process is repeated for, e.g., 10000 runs from which 10000 realizations of correlations are obtained. Experiments show that while the mean of these realizations gets quite close to the formula (16), the realizations fluctuate quite strongly.

The correlation is chosen as the average of the two components for each SNR point: one is the theoretical value form (16) and the second is the minimum of the realizations for that SNR point. This method is referred to as Dynamic Correlation Calculation method.

In one embodiment, the method is used to set a fixed set of values for the correlation for each iteration. This method is called Fixed Correlation Calculation method. Considering that with the increase of the number of iterations, the decisions are getting better and better, the correlation coefficient is chosen as an increasing function of the iteration numbers. Typically values range from 0.8 to 0.999. For example, for four iterations the correlation coefficients ρ₁ to ρ₄ are chosen as [ρ₁, ρ₂, ρ₃, ρ₄]=[0.95, 0.95, 0.99, 0.99]. By doing such a simplification, even though the truly converged solution is not able to obtain, it may work very well in some SNR range for some cases, which can be seen by simulations.

In the following, it is described how the invention can be applied to different CDMA (code division multiple access) systems.

First, the input-output models for CP (cyclic prefix) based CDMA systems are presented. Considering the duality between multicarrier carrier and single carrier systems, it is started from multicarrier based CDMA systems, which are more popular than single carrier CP-based systems. Synchronous downlink transmission and single cell environment are considered for all systems.

The transmission is on a block-by-block basis, with each block consisting of the CP sub-block of P samples and the data sub-block of N samples. By adding a CP longer than the channel memory, the channel matrix becomes a circular matrix, which can be represented as H=W ^(H) ΛW, where W is the N-point DFT matrix, and Λ=diag{λ₁, . . . , λ_(N)} is a diagonal matrix, the elements of which are the frequency domain channel responses in each subcarrier. Denote the time domain channel responses as h(0), h(1), . . . , h(L), each with one symbol delay, then

$\lambda_{k} = {\sum\limits_{l = 0}^{L}{{h(l)}{{\exp \left( {{- j}\; {{kl}/N}} \right)}.}}}$

For multicarrier systems, the data sub-block is pre-transformed before transmission using the N-point IDFT matrix W ^(H); while for single carrier systems, the data sub-block is transmitted out directly. At the receiver side, both single carrier and multicarrier systems first pre-transform the received data sub-block with the DFT matrix W, the output of which is further utilized to recover the transmitted signal via either linear or nonlinear detectors.

Denote G as the processing gain, which is common to all users. The following notations are introduced which are common for all systems: D(n) for the long scrambling codes at the nth block, D(n)=diag{d(n; 0), . . . , d(n; N−1)}; c _(i) for the short codes of user i, c _(i)=[c_(i)(0), . . . , c_(i)(G−1)]^(T), c _(i) ^(H) c _(j)=1 for i=j, and c _(i) ^(H) c _(j)=0 for the others.

MC-DS-CDMA

MC-DS-CDMA (multi carrier direct sequence CDMA) performs time domain spreading. Suppose that each user has equal processing gain of G, and there are T users sharing the same cell (T≦G). The MC-DS-CDMA system performs block spreading as follows.

(1) Taking N symbols from each user, spreading them with users' spreading codes;

(2) The chip signals corresponding to the same symbol index from all users are summed, and are transmitted over the same subcarrier but with different blocks. Thus it takes G consecutive blocks to send out the whole chip sequences.

The nth received block after FFT operation can be written as

$\begin{matrix} {{\underset{\_}{y}(n)} = {{\underset{\_}{\Lambda}\; {\underset{\_}{D}(n)}{\sum\limits_{i = 0}^{T - 1}{{{\underset{\_}{c}}_{i}(n)}{\underset{\_}{s}}_{i}}}} + {\underset{\_}{u}(n)}}} & (17) \end{matrix}$

where, 0≦n≦G−1, and

y (n)=[y(n;0), . . . , y(n;N−1)]^(T)

s _(i) =[s _(i)(0), . . . , s _(i)(N−1)]^(T)

u (n)=[u(n;0), . . . , u(n;N−1)]^(T)  (18)

where s _(i) is the transmitted signal vector of size N×1 for user i; and u(n) is the AWGN after FFT operation.

From the above, the kth sub-carrier of the nth block can be conveniently represented as:

${y\left( {n;k} \right)} = {\lambda_{k}{d\left( {n;k} \right)}{\sum\limits_{i = 0}^{T - 1}{{c_{i}(n)}{{s_{i}(k)}.}}}}$

Gathering the received signals of the kth sub-carrier from the 0th block to the (G−1)th block yields

$\begin{matrix} {{{\overset{\sim}{\underset{\_}{y}}(k)} = {{\lambda_{k}{\underset{\_}{\overset{\sim}{D}}(k)}{\sum\limits_{i = 0}^{T - 1}{{s_{i}(k)}{\underset{\_}{c}}_{i}}}} + {\underset{\_}{\overset{\sim}{u}}(k)}}}{where}} & (19) \\ {{{\overset{\sim}{\underset{\_}{y}}(k)} = \left\lbrack {{y\left( {0;k} \right)},\ldots \mspace{14mu},{y\left( {{G - 1};k} \right)}} \right\rbrack^{T}}{{\underset{\_}{\overset{\sim}{D}}(k)} = {{diag}\left\{ {{d\left( {0;k} \right)},\ldots \mspace{14mu},{d\left( {{G - 1};k} \right)}} \right\}}}} & (20) \end{matrix}$

Using {tilde over (D)}(k)c _(i) to despread {tilde over (y)}(k) yields

$\begin{matrix} {\begin{matrix} {{{\underset{\_}{z}}_{i}(k)} = {{\underset{\_}{c}}_{i}^{H}{{\underset{\_}{\overset{\sim}{D}}}^{H}(k)}{\underset{\_}{\overset{\sim}{y}}(k)}}} \\ {= {{\lambda_{k}{s_{i}(k)}} + {u(k)}}} \end{matrix}{or}} & (21) \\ {{\underset{\_}{z}}_{i} = {{\underset{\_}{\Lambda}\; {\underset{\_}{s}}_{i}} + {\underset{\_}{u}}_{i}}} & (22) \end{matrix}$

where z _(i)=[z_(i)(0), . . . , z_(i)(N−1)]^(T) and u _(i)=[u_(i)(0), . . . , u_(i)(N−1)]^(T). Note u _(i) is a AWGN with same characteristics as u(n). Therefore, if the channel responses are constant over the entire G blocks, the MC-DS-CDMA does not experience any MAI (multiple access interference) and ISI (inter symbol interference) as long as T≦G.

MC-CDMA

MC-DS-CDMA performs time spreading in the sense that the chip signals belonging to the same symbol are transmitted through different time blocks. MC-CDMA performs frequency domain spreading by transmitting those chip signals through different sub-carriers within the same block. Denote T as the total number of users; Q as the number of symbols transmitted in one block for each user; and G as the common processing gain to all users. Note N=QG is the total number of sub-carriers.

For MC-CDMA systems, the Q symbols of each user are first spread out using its own spreading codes, then the chip sequences for all users are summed up; and finally the total chip signals of size N are interleaved, and passed to an N-point IFFT processor, followed by adding a CP. At the receiver side, the nth received block after FFT can be represented as

y (n)=ΛΠ D (n) Cs (n)+ u (n)  (23)

where II is the interleaver matrix used to spread the transmitted chip sequence from the same symbol to possibly non-consecutive sub-carriers; and

y (n)=[y(n;0), . . . , y(n;N−1)]^(T)

C=diag{ C , . . . , C }

s (n)=[ s _(l) ^(T)(n), . . . , s _(Q) ^(T)(n)]^(T)  (24)

where

C =[c ₀, . . . c _(T-1)]

s _(i)(n)=[s ₀(n;i), . . . , s _(T-1)(n;i)]^(T)  (25)

Dividing the received signal vector y(n) into Q non-overlapping short column vectors, each with G elements corresponding to the chip signals belonging to the same symbol. Equation (23) can then be decoupled as

y _(i)(n)=Λ _(i) D _(i)(n) cs _(i)(n)+ u _(i)(n)  (26)

for i=1, . . . , Q, where Λ _(i) and D _(i)(n) are the ith sub-block of Λ and D(n). Note to achieve similar frequency diversity for each transmitted symbol, the interleaver can be designed in such a way that Λ _(i) takes elements from Λ such that Tr{|Λ _(i)|²} is almost constant for each sub-block. This can be achieved through allocating the chip signals belonging to the same symbol to equally spaced sub-carriers. From (36), it is seen that MC-CDMA experiences MAI, but not ISI. Also, signal detection can be done for each individual block.

CP-CDMA

Both MC-DS-CDMA and MC-CDMA are multicarrier systems in the sense that each data block is pre-transformed through IDFT.

Next, the single carrier dual of those systems is considered, which transmits the data blocks directly, without using any pre-transforms.

CP-CDMA is the single carrier dual of MC-CDMA. Suppose that there are T users within the same cell, and each user has the common processing gain of G. The number of symbols contained in each block for one user is Q=N/G.

For CP-CDMA systems, the Q symbols of each user are first spread out with its own spreading codes, then the chip sequence for all users are summed up; the total chip signal of size N is then passed to CP inserter, which adds a CP. Using the duality between CP-CDMA and MC-CDMA, from (23), the nth received block of CP-CDMA after FFT can be written as

y (n)= ΛWD (n) Cs (n)+ u (n)  (27)

where y(n), C, and s(n) are defined same as in MC-CDMA case. From (27), it is seen that CP-CDMA experiences both MAI and ISI for each block, thus powerful signal processing is required in order to recover the transmitted signals.

CP-DS-CDMA

CP-DS-CDMA is the single carrier dual of MC-DS-CDMA. Denote T as the total number of users; N the number of subcarriers for each block; and G the common processing gain to all users. The CP-DS-CDMA system performs block spreading as follows: the N symbols of each user are first spread out with its own spreading codes, then the chip sequence for all users are summed up; the total chip signal corresponding to different chip index is transmitted over different time block, thus it takes G blocks to send out the whole chip sequence of the N symbols.

The nth received block after FFT can be written as

$\begin{matrix} {{{\underset{\_}{y}(n)} = {{\underset{\_}{\Lambda \; {WD}}(n){\sum\limits_{i = 0}^{T - 1}{{c_{i}(n)}{\underset{\_}{s}}_{i}}}} + {\underset{\_}{u}(n)}}}{{{{where}\mspace{14mu} n} = 0},\ldots \mspace{14mu},{G - 1},{and}}} & (28) \\ \begin{matrix} {{\underset{\_}{y}(n)} = \left\lbrack {{y\left( {n;0} \right)},\ldots \mspace{14mu},{y\left( {n;{N - 1}} \right)}} \right\rbrack^{T}} \\ {{\underset{\_}{s}}_{i} = \left\lbrack {{s_{i}(0)},\ldots \mspace{14mu},{s_{i}\left( {N - 1} \right)}} \right\rbrack^{T}} \\ {{\underset{\_}{u}(n)} = \left\lbrack {{u\left( {n;0} \right)},\ldots \mspace{14mu},{u\left( {n;{N - 1}} \right)}} \right\rbrack^{T}} \end{matrix} & (29) \end{matrix}$

If the same set of long scrambling codes are applied to the G blocks, i.e., D(0)= . . . =D(G−1)=D, by collecting the kth sub-carrier's received signals from the 0th to (G−1)th blocks, one obtains

$\begin{matrix} {{\underset{\_}{\overset{\sim}{y}}(k)} = {{\lambda_{k}{\sum\limits_{i = 0}^{T - 1}{{\underset{\_}{W}\left( {k,\text{:}} \right)}{\underset{\_}{Ds}}_{i}{\underset{\_}{c}}_{i}}}} + {\underset{\_}{\overset{\sim}{u}}(k)}}} & (30) \end{matrix}$

where {tilde over (y)}(k)=[y(0; k), . . . , y(G−1; k)]^(T), and W(k,:) denotes the kth row of W. Note W(k, :)Ds _(i) is a scaler. Using c _(i) to perform despreading, one obtains

$\begin{matrix} {\begin{matrix} {{{\underset{\_}{z}}_{i}(k)} = {{\underset{\_}{c}}_{i}^{H}{\overset{\sim}{\underset{\_}{y}}(k)}}} \\ {= {{\lambda_{k}{\underset{\_}{W}\left( {k,\text{:}} \right)}{\underset{\_}{Ds}}_{i}} + {\underset{\_}{\overset{\sim}{u}}(k)}}} \end{matrix}{Thus}} & (31) \\ {{\underset{\_}{z}}_{i} = {{\underset{\_}{\Lambda \; {WDs}}}_{i} + {\underset{\_}{u}}_{i}}} & (32) \end{matrix}$

where z _(i)=[z_(i)(0), . . . , z_(i)(N−1)]^(T) and u _(i)=[u_(i)(0), . . . , u_(i)(N−1)]^(T). Note (32) is the single carrier duality of MC-DS-CDMA model (22), if D=I. From (32), it is seen that CP-DS-CDMA does not experience MAI, but it does have ISI. It is also noted that after block despreading, a CP-DS-CDMA system is equivalent to a single carrier CP(SCCP) system.

Now, consider the generic MIMO channel model. Suppose the MIMO channel is described by the following input-output relation:

x=Hs+n   (33)

where s, x and n denote the transmitted signal vector, received signal vector, and received noise vector, respectively; H is the channel matrix, representing the responses from the transmit antennas to the receive antennas. Without loss of generality, it is assumed that s, x and n are all N×1 vectors, and H is a N×N matrix. Assuming that ε[ss ^(H)]=σ_(s) ² I, ε[nn ^(H)]=σ_(n) ² I, ε[sn ^(H)]=0. Denote P as the linear equalizer for the channel (33), which generates the output:

z=P ^(H) x  (34)

Then, the minimum mean square error (MMSE) equalizer is given by

P _(MMSE)=σ_(s) ²[σ_(s) ² HH ^(H)+σ_(n) ² I] ⁻¹ H   (35)

In the following, the linear receivers for each of the CP-based CDMA systems are specified.

MC-DS-CDMA performs block despreading for each sub-carrier using G consecutive blocks. A one-tap equalizer is then applied to the despreading output to retrieve the transmitted signals. The MMSE equalizer to the ith sub-carrier is given by

$\begin{matrix} {p_{i},{{MMSE} = \frac{\sigma_{s}^{2}\lambda_{i}}{{\sigma_{s}^{2}\lambda_{i}^{2}} + \sigma_{n}^{2}}}} & (36) \end{matrix}$

For MC-CDMA, the signal separation is done for each sub-block. As the channel matrix for the ith sub-block of the nth block is

H _(i)=Λ _(i) D _(i)(n) C   (37)

Thus the MMSE equalizer is given by, for fully loaded systems,

P _(i,MMSE)=σ_(s) ²[σ_(s) ²|Λ _(i)|²+σ_(n) ² I] ⁻¹ Λ _(i) D _(i)(n) C   (38)

which is realized through a one-tap equalizer, (σ_(s) ²[σ_(s) ²|Λ _(i)|²+σ_(n) ² I]⁻¹ Λ _(i))^(H), followed by a despreader [D _(i)(n) C ]^(H).

For CP-CDMA, the channel matrix for the nth block is given by

H=ΛWD (n) C   (39)

Thus the MMSE equalizer is given by, for fully loaded systems,

P _(MMSE)=σ_(s) ²[σ_(s) ²|Λ|²+σ_(n) ² I] ⁻¹ ΛD (n) C   (40)

which is realized through a one-tap equalizer, (σ_(s) ²[σ_(s) ²|Λ|²+σ_(n) ² I]⁻¹ Λ)^(H), followed by an IDFT operator W ^(H), followed by a despreader [D(n)C]^(H).

CP-DS-CDMA performs block despreading using G consecutive blocks, the channel matrix after despreading is given by

H=ΛW  (41)

Thus the MMSE equalizer is given by

P _(MMSE)=σ_(s) ²[σ_(s) ²|Λ|²+σ_(n) ² I] ⁻¹ ΛW  (42)

which is realized through a one-tap equalizer, (σ_(s) ²[σ_(s) ²|Λ|²+σ_(n) ² I]⁻¹ Λ)^(H), followed by a IDFT operator W ^(H).

After block despreading, a CP-DS-CDMA system becomes a SCCP system, and similarly, a MC-DS-CDMA becomes an OFDM system.

Next, linear equalizers according to embodiments of the invention are described, which are applied to the various CDMA systems.

Linear equalizers are easy for implementation, however, they are single user detectors in the sense that when detecting one symbol, the others are all treated as interferences. BI-GDFE (block iterative generalized decision feedback equalizer) is utilized to achieve near-ML detection for the CP-based CDMA systems. The idea is to detect the transmitted symbols iteratively and simultaneously (but not jointly), and in each iteration, the decisions made at the previous iteration are used to cancel out the interferences, such that statistically maximized SINRs are achieved for all detected symbols.

FIG. 6 shows an equalizer 600 according to an embodiment of the invention.

The subscript l is used to denote the lth iteration. The equalizer 600, a BI-GDFE, makes use of the decision-directed symbols from the (l−1)th iteration to assist for signal detection for the lth iteration. At the lth iteration, the received signal x is passed to a feed-forward equalization (FFE) unit 601 corresponding to a matrix K_(l); at the same time, the hard decision from the (l−1)th iteration, ŝ_(l-1), passes through a feedback equalizer (FBE) 602 corresponding to a matrix D_(l). The outputs from the FFE unit 601 and the FBE 602 are combined by a combiner 603, and further used by a slicer 604 to make hard decisions for the lth iteration. Let

z _(l) =K _(l) ^(H) x+D _(l) ŝ _(l-1)  (43)

The key idea for BI-GDFE can be seen in that preserve the signal component s from the FFE is preserved, while cancelling out the interferences using the FBE.

Theorem 1:

Suppose that ε[ss ^(H)]=σ_(s) ² I, ε[sŝ _(l-1) ^(H)]=ρ_(l-1)σ_(s) ² I, and ε[ŝ _(l-1) ŝ _(l-1) ^(H)]=σ_(s) ² I. Denote A _(l)=diag(K _(l) ^(H) H), which takes the diagonal elements of K _(l) ^(H) H, then the optimal FFE and FBE maximizing the signal to interference plus noise ratio (SINR) at the lth iteration are given by

K _(l)=σ_(s) ²[σ_(s) ²(1−ρ_(l-1) ²) HH ^(H)+σ_(n) ² I]⁻¹ H  (44)

D _(l)=ρ_(l-1)( A _(l) −K _(l) ^(H) H )  (45)

and the maximum SINR for the kth symbol of s is given by

$\begin{matrix} {{\gamma_{l}(k)} = \frac{{{{\underset{\_}{A}}_{l}\left( {k,k} \right)}}^{2}\sigma_{s}^{2}}{{\underset{\_}{R}}_{{\overset{\sim}{n}}_{l}}\left( {k,k} \right)}} & (46) \\ {{\underset{\_}{R}}_{{\overset{\sim}{n}}_{l}} = {{\frac{\sigma_{s}^{2}\left( {1 - \rho_{1 - 1}^{2}} \right)}{\rho_{l - 1}^{2}}{\underset{\_}{D}}_{l}{\underset{\_}{D}}_{l}^{H}} + {\sigma_{n}^{2}{\underset{\_}{K}}_{l}{\underset{\_}{K}}_{l}^{H}}}} & (47) \end{matrix}$

and X(i,j) denotes the elements of matrix X at the ith row and jth column.

Theorem 2: Suppose that ε[ss ^(H)]=σ_(s) ² I, ε[sŝ _(l-1) ^(H)]=ρ_(l-1)σ_(s) ² I, and ε[ŝ _(l-1) ŝ _(l-1) ^(H)]=σ_(s) ² I. Consider the MIMO channel of x=Hs+n, and suppose channel matrix H can be decomposed as: H=H ₀ E, where E, called a transform matrix, is a unitary matrix, i.e., EE ^(H)=I. Denote K _(l,0) and D _(l,0) as the FFE and FBE at the lth iteration of the MIMO channel: x=H ₀ s+n, and A _(l,0)=diag(K _(l,0) ^(H) H ₀). Then the following holds

(1) The FFE K _(l) and FBE D _(l) of the MIMO channel x=H s+n can be represented as

K _(l)=K _(l,0) E  (48)

D _(l) =E ^(H) D _(l,0) E+ρ _(l-1)(diag( E ^(H) K _(l,0) ^(H) H ₀ E )− E ^(H) A _(l,0) E )  (49)

(2) If H ₀ is a diagonal matrix, and the elements of E are all with the same amplitude, then K _(l,0) and A _(l,0)=K _(l,0) ^(H) H ₀ are diagonal matrices, and

$\begin{matrix} {{{\underset{\_}{K}}_{l}^{H}\underset{\_}{H}} = {{\underset{\_}{E}}^{H}{\underset{\_}{A}}_{l,0}\underset{\_}{E}}} & (50) \\ {{\underset{\_}{A}}_{l} = {\alpha_{l}\underset{\_}{I}}} & (51) \\ {{\underset{\_}{D}}_{l} = {\rho_{l - 1}{{\underset{\_}{E}}^{H}\left( {{\alpha_{l}\underset{\_}{I}} - {\underset{\_}{A}}_{l,0}} \right)}\underset{\_}{E}}} & (52) \\ {{{\underset{\_}{R}}_{{\overset{\sim}{n}}_{l}}\left( {k,k} \right)} = {\frac{1}{N}{{Tr}\left( {\underset{\_}{R}}_{l,0} \right)}}} & (53) \end{matrix}$

where

${\alpha_{l} = {\frac{1}{N}{{Tr}\left( {\underset{\_}{A}}_{l,0} \right)}}},$

and

R _(l,0)=σ_(s) ²(1−ρ_(l-1) ²)( A _(l,0)−α_(l) I )( A _(l,0)−α_(l) I )^(H)+σ_(n) ² K _(l,0) ^(H) K _(l,0)  (54)

is a diagonal matrix.

Several comments are in order.

-   -   The diagonal elements of the FBE D_(l) are all zeros, thus the         earlier-made decisions will never contribute to the signal         components in the slicer input z _(l);     -   The parameter ρ_(l-1) is called the cross-correlation         coefficient between the transmitted signal s and the hard         decisions ŝ _(l-1) made at the (l−1)th iteration. The selection         of this coefficient plays a critical role to guarantee the         convergence of the iterative algorithm. For the initialization,         ρ₀=0 is set, thus the FFE K ₁ is actually the conventional MMSE         equalizer, and there is no feedback. When the previously-made         decisions are perfect, the correlation coefficient is 1, the FBE         cancels out all the interferences, and the FFE becomes a matched         filter, H, or maximal-ratio combining (MRC) equalizer.     -   If H ₀ is a diagonal matrix, and the elements of E are all with         the same amplitude, then the FFE and FDE for H can be decomposed         into two terms, those related to the fundamental channel H ₀ and         the transform matrix E. Further, the SINR for the channel H is         independent of the transform. However, this is not the case when         the transform E has uneven amplitudes for its elements.

With the above theory, the BI-GDFE is applied to each of the CP-based CDMA systems, and derive the optimal equalizers for each iteration. As MC-DS-CDMA after block despreading is equivalent to a OFDM system, its ML detection is achieved through one-tap equalizer directly. However, the mathematical formula for OFDM systems serve as the fundamentals in deriving the optimal weights for the other CP-based CDMA systems. Thus the MC-DS-CDMA systems are considered first.

MC-DS-CDMA

After block despreading, a MC-DS-CDMA system is equivalent to (22). Denote H ₀=Λ, then

K _(l,0)=σ_(s) ²[σ_(s) ²(1−ρ_(l-1) ²)|Λ|²+σ_(n) ² I] ⁻¹ Λ  (55)

D_(l,0)=0  (56)

Note both H ₀ and K _(l,0) are diagonal matrices.

MC-CDMA

For MC-CDMA, each time block consists of Q sub-blocks, the channel matrix for the ith sub-block of the nth block is given by

H _(i)=Λ _(i) D _(i)(n) C   (57)

Define E=D _(i)(n)C, and note that the elements of E have the same amplitude. For fully loaded systems, EE ^(H)=I. Applying Theorem 2 and the results for MC-DS-CDMA systems, the FFE and FBE for the lth iteration is obtained as follows:

K _(l,i) =F _(l,i) D _(i)(n) C   (58)

D _(l,i)=ρ_(l-1,i)([ D _(i)(n) C] ^(H) B _(l,i) D _(i)(n) C )  (59)

where

F _(l,i)=σ_(s) ²[σ_(s) ²(1−ρ_(l-1,i) ²)|Λ _(i)|²+σ_(n) ² I] ⁻¹ Λ _(i)  (60)

B _(l,i) =a _(l,i) I−F _(l,i) ^(H) Λ _(i)  (61)

where

${a_{l,i} = {\frac{Q}{N}{{Tr}\left( {{\underset{\_}{F}}_{l,i}^{H}{\underset{\_}{\Lambda}}_{1}} \right)}}},$

and ρ_(l-1,i) is the correlation between the transmitted signal s _(i) and the decisions ŝ _(l-1,i) made at the (l−1)th iteration, which can be calculated through the SINRs:

$\begin{matrix} {{{\gamma_{l,i}(k)} = \frac{N{\overset{\_}{a}}_{1,i}^{2}\sigma_{s}^{2}}{{QTr}\left( {{{\sigma_{s}^{2}\left( {1 - \rho_{{l - 1},i}^{2}} \right)}{\underset{\_}{B}}_{l,i}{\underset{\_}{B}}_{l,i}^{H}} + {\sigma_{n}^{2}{\underset{\_}{F}}_{l,i}^{H}{\underset{\_}{F}}_{l,i}}} \right)}},{\forall k}} & (62) \end{matrix}$

Note that F _(l,i) and B _(l,i) are both diagonal matrices, representing one-tap equalizers. An equalizer for MC-CDMA is shown in FIG. 7.

FIG. 7 shows an equalizer 700 according to an embodiment of the invention.

At the lth iteration, the received signal x is passed to a feed-forward equalization (FFE) unit 701 corresponding to the matrix F _(l) ^(H); at the same time, the hard decision from the (l−1)th iteration, ŝ_(l-1), passes through a first processing unit 702 corresponding to the matrix D _(i)(n)C. The output of the first processing unit 702 is processed by a second processing unit 703 corresponding to the matrix B _(l). The outputs from the FFE unit 701 and the second processing unit 703 are combined by a combiner 704, and after being processed by a third processing unit 705 corresponding to the matrix [D _(i)(n)C]^(H), the output of the combiner 704 is used by a slicer 706 to make hard decisions for the lth iteration.

Finally, for partially loaded systems, a scaling factor can be added in the per-subcarrier equalizer F _(l,i), yielding

${\underset{\_}{F}}_{l,i} = {{\sigma_{s}^{2}\left\lbrack {{\frac{T}{G}{\sigma_{s}^{2}\left( {1 - \rho_{{l - 1},i}^{2}} \right)}{{\underset{\_}{\Lambda}}_{i}}^{2}} + {\sigma_{n}^{2}\underset{\_}{I}}} \right\rbrack}^{- 1}{\underset{\_}{\Lambda}}_{i}}$

CP-CDMA

For CP-CDMA, the channel matrix for the nth block is as follows:

H=ΛWD (n) C   (63)

Define E=WD(n)C. For fully loaded systems, EE ^(H)=I. Applying Theorem 2 and the results for MC-DS-CDMA systems, one obtains the FFE and FBE for the lth iteration as follows:

K _(l) =F _(l) WD (n) C   (64)

D _(l)=ρ_(l-1)( A _(l) −[D _(i)(n) C] ^(H) W ^(H) F _(l) ^(H) ΛWD (n) C )  (65)

where

F _(l)=σ_(s) ²[σ_(s) ²(1−ρ_(l-1) ²)|Λ|²+σ_(n) ² I] ⁻¹ Λ  (66)

A _(l)=diag([ WD (n) C] ^(H) F _(l) ^(H) ΛWD (n) C )  (67)

Notice since the elements of E do not have identical amplitude, the FBE D _(l) cannot be decouple the effect of pure channel Λ from those of the codes. Thus the equalized SINRs will also be different for different detected symbols. Finally, for partially loaded systems, a scaling factor can be added in the per-subcarrier equalizer F _(l), yielding

$\begin{matrix} {{\underset{\_}{F}}_{l} = {{\sigma_{s}^{2}\left\lbrack {{\frac{T}{G}{\sigma_{s}^{2}\left( {1 - \rho_{{l - 1},i}^{2}} \right)}{{\underset{\_}{\Lambda}}_{i}}^{2}} + {\sigma_{n}^{2}\underset{\_}{I}}} \right\rbrack}^{- 1}{\underset{\_}{\Lambda}.}}} & \; \end{matrix}$

CP-DS-CDMA

After block despreading, the channel matrix for CP-DS-CDMA is given by

H=ΛW  (68)

Thus the FFE and FBE for the lth iteration are as follows

K _(l)=F _(l) W  (69)

D _(l)=ρ_(l-1)( W ^(H) B _(l) W )  (70)

where

F _(l)=σ_(s) ²[σ_(s) ²(1−ρ_(l-1) ²)|Λ|²+σ_(n) ² I] ⁻¹ Λ  (71)

B _(l) =a _(l) I−F _(l) ^(H) Λ  (72)

where

$a_{l} = {\frac{1}{N}{{{Tr}\left( {{\underset{\_}{F}}_{l}^{H}\underset{\_}{\Lambda}} \right)}.}}$

For CP-based CDMA systems, the composite channel matrix consists of the pure channel responses from the transmitter side to the receiver side, and the spreading codes associated with the active users. When the long scrambling codes are utilized D(n)≠I, the FFE K _(l) and FBE D _(l) are dependent on the channel responses, as well as the long scrambling codes. For MC-CDMA and CP-DS-CDMA systems, the effects from these two factors can be decoupled, thus both F _(l) and B _(l) are independent of the long codes. However, for CP-CDMA, the optimal FBE D _(l) cannot decouple the effects from these two factors. Further, the equalized SINRs are also dependent on the long spreading codes. Thus when BI-GDFE is applied, the receiver complexity for CP-CDMA is in general higher than those for the other two systems.

In the following, a suboptimal simplified solution is proposed to design the equalizers and calculate the SINRs for CP-CDMA systems with long scrambling codes.

One may argue that only short orthogonal codes can be used. However, only using short codes may incur very bad performance for CP-CDMA.

With reference to the equations (64) and (65)

$\begin{matrix} {{\overset{\_}{a}}_{l} = {\frac{1}{N}{{Tr}\left( {\underset{\_}{A}}_{l} \right)}}} & (73) \\ {{\underset{\_}{B}}_{l} = {\rho_{l - 1}\left( {{{\overset{\_}{a}}_{l}\underset{\_}{I}} - {{\underset{\_}{F}}_{l}^{H}\underset{\_}{\Lambda}}} \right)}} & (74) \\ {{\underset{\_}{G}}_{l} = {\rho_{l - 1}\left( {{\underset{\_}{A}}_{l} - {{\overset{\_}{a}}_{l}\underset{\_}{I}}} \right)}} & (75) \end{matrix}$

are defined.

Then the FBE for the lth iteration can be represented as

D _(l) =[WD (n) C] ^(H) B _(l) WD (n) C )+ G _(l)  (76)

Note F _(l) in equation (66) and B _(l) above are both diagonal matrices, thus they are one-tap equalizers. However, since the diagonal elements of A _(l) are not identical, an additional block G ₁ is used to fulfil this diagonality requirement for B _(l). An equalizer for CP-CDMA is shown in FIG. 8.

FIG. 8 shows an equalizer 800 according to an embodiment of the invention.

At the lth iteration, the received signal x is passed to a feed-forward equalization (FFE) unit 801 corresponding to the matrix F _(l) ^(H); at the same time, the hard decision from the (l−1)th iteration, ŝ_(l-1), passes through a first processing unit 802 corresponding to the matrix WD(n)C. The output of the first processing unit 802 is processed by a second processing unit 803 corresponding to the matrix B _(l). The outputs from the FFE unit 801 and the second processing unit 803 are combined by a first combiner 804, the output of which is processed by a third processing unit 805 corresponding to the matrix [WD(n)C]^(H). The hard decision from the (l−1)th iteration, ŝ_(l-1) is also processed by a fourth processing unit 806 corresponding to the matrix G_(l). The outputs of the fourth processing unit 806 and the third processing unit 805 are combined by a second combiner 807, the output of which is used by a slicer 808 to make hard decisions for the lth iteration.

Further, since both ā_(l) and G _(l) are dependent on the long codes, D(n), they have to be calculated and updated from one block to another, rendering the implementation of BI-GDFE very complicated. To simplify the calculations, two suboptimal techniques are proposed.

Suboptimal BI-GDFE-I:

$\begin{matrix} {{\overset{\_}{a}}_{l} = {\frac{1}{N}{{Tr}\left( {{\underset{\_}{F}}_{l}^{H}\underset{\_}{\Lambda}} \right)}}} & (77) \\ {{{\gamma_{l}(k)} = \frac{N{\overset{\_}{a}}_{1}^{2}\sigma_{s}^{2}}{{Tr}\left( {{{{\sigma_{s}^{2}\left( {1 - \rho_{l - 1}^{2}} \right)}/\rho_{l - 1}^{2}}{\underset{\_}{B}}_{l}{\underset{\_}{B}}_{l}^{H}} + {\sigma_{n}^{2}{\underset{\_}{F}}_{l}^{H}{\underset{\_}{F}}_{l}}} \right)}},{\forall k}} & (78) \\ {{\underset{\_}{G}}_{l} = {\rho_{l - 1}\left( {{\underset{\_}{A}}_{l} - {{\overset{\_}{a}}_{l}\underset{\_}{I}}} \right)}} & (79) \end{matrix}$

Suboptimal BI-GDFE-II:

$\begin{matrix} {{\overset{\_}{a}}_{l} = {\frac{1}{N}{{Tr}\left( {{\underset{\_}{F}}_{1}^{H}\underset{\_}{\Lambda}} \right)}}} & (80) \\ {{{\gamma_{l}(k)} = \frac{N{\overset{\_}{a}}_{1}^{2}\sigma_{s}^{2}}{{Tr}\left( {{{{\sigma_{s}^{2}\left( {1 - \rho_{l - 1}^{2}} \right)}/\rho_{l - 1}^{2}}{\underset{\_}{B}}_{l}{\underset{\_}{B}}_{l}^{H}} + {\sigma_{n}^{2}{\underset{\_}{F}}_{l}^{H}{\underset{\_}{F}}_{l}}} \right)}},{\forall k}} & (81) \\ {{\underset{\_}{G}}_{l} = 0} & (82) \end{matrix}$

With these simplifications, a reconfigurable BI-GDFE receiver applicable to any type of CP-based CDMA systems is proposed and shown in FIG. 9. It corresponds to the equalizer shown in FIG. 4, wherein instead of V, the matrix Q is used.

FIG. 9 shows an equalizer 900 according to an embodiment of the invention.

At the lth iteration, the received signal x is passed to a feed-forward equalization (FFE) unit 901 corresponding to the matrix F _(l) ^(H); at the same time, the hard decision from the (l−1)th iteration, ŝ_(l-1), passes through a first processing unit 902 corresponding to the matrix Q. The output of the first processing unit 902 is processed by a second processing unit 903 corresponding to the matrix B _(l). The outputs from the FFE unit 901 and the second processing unit 903 are combined by a combiner 904, and after being processed by a third processing unit 905 corresponding to the matrix Q^(H), the output of the combiner 904 is used by a slicer 906 to make hard decisions for the lth iteration.

-   -   The FFE (FFE unit 901) and FBE (second processing unit 903) are         both one tap equalizers, and are determined by the pure physical         channel, thus they can be predetermined;     -   The transform matrix Q is configured as follows: Q=WD(n)C for         CP-CDMA, Q=D(n)C for MC-CDMA, Q=W for CP-DS-CDMA, Q=0 for         MC-DS-CDMA (meaning MC-DS-CDMA does not require iterations).     -   Block dispreading is performed for MC-DS-CDMA and CP-DS-CDMA.     -   When iterations are not performed, the proposed receiver is         equivalent to conventional MMSE receiver.

For DS-CDMA systems, there is no CP for each block. Conventionally, two types of low-complexity receivers have been proposed for DS-CDMA downlink: Rake receiver, and equalization receiver. The performance of each depends on the property of the wireless channel, as well as the traffic load. Specifically, a Rake receiver is effective in suppressing both inter-finger interference (IFI) and MAI when the spreading factor is large enough; however, this interference suppression capability will decrease with the increase of the traffic load. An equalization receiver is in theory capable of suppressing both IFI and MAI coming from the same cell for CDMA downlink, through restoring the orthogonality of the codes. However, considering the complexity constraint and slow convergence of any practical adaptive equalization algorithms, the achievable performance of an equalization receiver usually has a big gap to the theoretically predicted performance.

However, even though there is no CP, the input-output relation of (27) approximately satisfies when the channel delay spread is relatively small compared to the block size. Thus FEQ method can still be applied to conventional DS-CDMA systems. Therefore, the BI-GDFE scheme designed for CP-CDMA using FEQ is still applicable for conventional DS-CDMA.

Finally, the proposed scheme can also be applied to any systems varied from MC-CDMA, such as time-frequency spreading MC-CDMA, and CP-CDMA. Also, while an equalizer weight design for downlink scenarios is provided, the application of the proposed method in uplink scenario is straightforward. Further, when MIMO is applied to MC-CDMA, CP-CDMA and others, the dimension of matrix used for SVD or matrix inversion is still determined by the spatial dimension provided by the MIMO channel, thus a very simple iterative receiver can be expected.

As above, the convergence of the proposed iterative receiver is very sensitive to the determination of the input-decision correlation coefficient ρ_(l). If the signal dimension is infinity, the correlation coefficient can be theoretically calculated based on the equalized SNR for the lth iteration using Gaussian approximation. For example, in [1], [2], the correlation coefficient is determined by, for QPSK modulation,

ρ_(l)=1−2Q(√{square root over (γ_(l))})  (83)

where γ_(l) is the equalized SINR at the lth iteration.

It is pointed out that this method is valid only when the signal dimension goes to infinity, and the equalized SINRs at each detected symbol are identical. In practice, the signal dimension is usually small, and further, the equalized SINRs are not identical for different detected symbols for some systems, such as CP-CDMA considered in this paper. Therefore, it is desirable to design a robust method to calculate the correlations applicable to systems with finite signal dimension and unequal equalized SINRs.

For systems with finite signal dimension, the input-decision correlations fluctuate from one realization to another. Here a robust method to determine the correlations based on Monte Carlo simulations is described. It works as follows.

(1) For an AWGN channel with SNR γ, generate a block of N modulated symbols, and make hard decisions over the received signals, then calculate the cross-correlation between the transmitted signals with the hard-decision symbols. Repeat this process for say 10000 runs, from 10000 realizations of correlation are obtained, for given SNR γ.

(2) Calculate the mean of these correlations, which should be close to the formula of (83) for QPSK modulation;

(3) Search the minimum of the correlation from the 10000 runs. This minimum is actually the worst case correlation.

(4) Calculate the average between the mean correlation and minimum correlation, and this value is served as the correlation for the pair of SNR γ and block size N, irrespective the Monte Carlo runs.

(5) Vary the SNR γ from say −20 dB to say 20 dB, and obtain the correlation-SNR curves.

A lookup table can be generated based on the measured curves, and when the systems have identical equalized SINR, the checked value can be applied directly. For systems with unequal equalized SINRs, two ways can be applied. One is to use the geometric mean of the SINRs of the detected symbols.

In this case, the noise covariance matrix has to be calculated. Also, calculation of geometric mean can be very extensive. The other solution is to use the average SINR, defined as the ratio between the average signal power and average interference plus noise power. This method simplifies the calculations quite significantly.

Several comments are in order.

(1) For finite signal dimensions, if the correlation is over-estimated, then a close-to-MRC weights are designed for the FFE, and it is regarded that most of the interference is cancelled out, even though this is not the case. Convergence may not be achieved for such a case.

(2) One way is to choose the minimum correlation at each SNR as the correlation measure. While this may generally lead to a converged solution, the convergence speed is usually very slow.

(3) By selecting the input-decision correlation as the average of the minimum and the mean of the simulated correlations, it makes a tradeoff between convergence speed and guarantee of convergence in most of the cases.

(4) Another simple method is to set a fixed set of values for the correlation. The selection of this correlation set can be done through Monte Carlo simulations.

Input-decision correlations for different signal-to-noise ratios and different signal dimensions according to simulations are shown in FIG. 10.

FIG. 10 shows a diagram 1000 according to an embodiment of the invention.

For different signal-to-noise ratios, indicated on the x-axis 1001 of the diagram 1000, input-decision correlations ρ are determined by way of simulation, in this case by 2000 Monte Carlo runs. The input-decision correlations ρ are indicated on the y-axis 1002 of the diagram 1000.

The correspondence of signal-to-noise ratio to correlation ρ is indicated by a plurality of curves 1003, each curve 1003 corresponding to a signal dimension, as it is indicated in the box 1004.

It can be seen that with the increase of block size (signal dimension), the input-decision correlation becomes less fluctuated. Therefore, a larger correlation coefficient can be applied in designing the FBE.

From simulations one sees that the achievable performance of BI-GDFE does not converge to a curve parallel to the MFB (matched filter bound), implying that there could be some problems for either the conventional MC-CDMA or the BI-GDFE. The reason behind this is that the conventional MC-CDMA actually does not achieve the full diversity of the system. In order to achieve the full diversity the channel contains and to assist for the proposed BI-GDFE to achieve such diversity, in one embodiment, a new MC-CDMA system is used

Different from conventional MC-CDMA which spreads the transmitted symbol in frequency domain, and then transforms the spread chip signals using inverse FFT (IFFT), the proposed MC-CDMA inserts a random interleaver of size N between the spreader and IFFT operators. With this modification, the proposed MC-CDMA with BI-GDFE achieves the full diversity the wireless channel contains.

In this document, the following publications are cited:

-   [1] Beheshti, S. H. Isabelle and G. W. Wornel, “Joint intersymbol     and multiple access interference suppression algorithms for CDMA     systems,” European Trans. Telecomm. Related Technol., vol. 9, pp.     403-418, September-October 1998 -   [2] A. M. Chan and G. W. Wornell, “A class of block-iterative     equalizers for intersymbol interference channels: fixed channel     results,” IEEE Trans. on Communications, pp. 1966-1976, vol. 49, No.     11, November 2001 -   [3] N. Benvenuto and S. Tomasin, “Block iterative DFE for single     carrier modulation”, Electronics Letters, pp. 1144-1145, vol. 38,     No. 19, September 2002 -   [4] R. Kalbasi, R. Dinis, D. D. Falconer and A. H. Banihashemi,     “Layered space-time receivers for single carrier transmission with     iterative frequency domain equalization”, IEEE VTC-Spring '04, May     2004 

1. A method for equalizing a digital signal received via at least one communication channel, wherein the signal values of the received digital signal are grouped into at least one block of received signal values; the at least one block of received signal values is processed by an iterative equalizer; in two or more iterations, a block of equalized signal values for the block corresponding to the current iteration is generated; in two or more iterations the block of equalized signal values corresponding to a previous iteration is processed by a feedback unit which performs a multiplication by a first matrix; in two or more iterations the at least one block of received signal values is processed by a feed-forward unit which performs a multiplication by a second matrix; in two or more iterations, the first matrix is updated; in two or more iterations, the second matrix is updated; in two or more iterations, the block of equalized signal values corresponding to the current iteration is determined based on the combination of the output of the feed-forward unit and the output of the feedback unit for the current iteration.
 2. The method according to claim 1, wherein the first matrix is updated based on the result of at least one previous iteration.
 3. The method according to claim 1, wherein the second matrix is updated based on the result of at least one previous iteration.
 4. The method according to claim 1, wherein in each iteration, a block of equalized signal values for the block corresponding to the iteration is generated.
 5. The method according to claim 1, wherein in two or more iterations, the first matrix and the second matrix are updated.
 6. The method according to claim 1, wherein in each iteration, the first matrix is updated.
 7. The method according to claim 1, wherein in each iteration, the second matrix is updated.
 8. The method according to claim 1, wherein the first matrix and the second matrix are updated based on a correlation between the block of equalized signal values corresponding to a previous iteration and the block of received signal values.
 9. The method according to claim 8, wherein the correlation between the block of equalized signal values corresponding to a previous iteration and the block of received signal values is determined based on an equalized SINR of the previous iteration.
 10. The method according to claim 8, wherein the correlation between the block of equalized signal values corresponding to a previous iteration and the block of received signal values is determined based on pre-determined correlation values.
 11. The method according to claim 10, wherein the pre-determined correlation values are generated by means of simulations.
 12. The method according to claim 1, wherein the second matrix is updated based on a maximisation of a signal to interference and noise ratio.
 13. The method according to claim 1, wherein the first matrix is updated based on a minimisation of the interference.
 14. The method according to claim 1, wherein the received digital signal is a digital signal received via a MIMO system comprising a plurality of receive antennas and each receive antenna corresponds to exactly one component of the block of received signal values.
 15. The method according to claim 14, wherein in two or more iterations, the block of received signal values is processed by a first beamforming unit which performs a multiplication by a third matrix and wherein the block of equalized signal values corresponding to a previous iteration is processed by a second beamforming unit which performs a multiplication by a fourth matrix.
 16. The method according to claim 15, wherein the third matrix and the fourth matrix correspond to a singular value decomposition of a channel matrix specifying the transmission characteristics of the communication channel.
 17. The method according to claim 16, wherein the singular value decomposition of the channel matrix is performed based on a decomposition of the channel matrix according to subcarriers used in the communication channel.
 18. The method according to claim 1, wherein the first matrix and the second matrix are generated according to a channel matrix specifying the transmission characteristics of the communication channel.
 19. The method according to claim 1, wherein the communication channel is adapted according to MC-DS-CDMA, MC-CDMA, CP-CDMA or CP-DS-CDMA.
 20. An equalizer for equalizing a digital signal received via at least one communication channel, wherein the signal values of the received digital signal are grouped into at least one block of received signal values, the equalizer is adapted to process the at least one block of received signal values iteratively, in two or more iterations, the equalizer generates a block of equalized signal values for the block corresponding to the current iteration; and wherein the equalizer comprises: a feedback unit which performs a multiplication by a first matrix and is adapted to process the block of equalized signal values corresponding to a previous iteration in two or more iterations; a feed-forward unit which performs a multiplication by a second matrix and is adapted to process the at least one block of received signal values in two or more iterations; a first updating unit which is adapted to update the first matrix in two or more iterations; a second updating unit which is adapted to update the second matrix in two or more iterations; a determining unit, adapted to determine the block of equalized signal values corresponding to the current iteration in two or more iterations based on the combination of the output of the feed-forward unit and the output of the feedback unit for the current iteration. 